Posts from April 2021

Programming is not about what you already know, but about what you can find out

Leiden, the Netherlands

Murphy's Law: Anything that can go wrong will go wrong.



Three months. Ninety days. Twenty-one hundred and sixty-one hours. One hundred twenty-nine thousand six hundred minutes. Aka 7,776,000 seconds of continuous code execution before I found out that there was one (1) error(s) in my code. Unfortunately, I can re-execute the entire code once again. "But", I tell myself smiling with crooked toes, "I will never forget the importance of using the correct data types again!"

Programming is based on a simple concept: The computer does exactly what you tell it to do. However, it is not as easy as just asking Siri, Google or Alexa a simple question. But if we cannot talk, how can we get a computer to do something for us?

As programmers, we write a finite set of instructions to go from an initial state towards a final goal. These instructions are referred to as an algorithm or program and are written in a simple text editor. A general text editor that many use is Microsoft Word. However, this is not recommended for writing programs! I personally use the PyCharm and the BBEdit text editor. Unfortunately, just writing a simple instruction is not enough. To be able to communicate with a computer, we have to write it in a specific language. A computer understands as much about a proper English text as I understand the Hebrew language, which is nothing. Just as we have many different languages in this world, there are also several languages available for computers. Common and widely used languages are Python, Java(Script), C(++) and R. I typically write programmes in Python programming language and in a somewhat older language, called Fortran.

Well, and then what? We have the instructions, but how do we give those to the computer? When programming in Python this is extremely simple. Python code is interpreted directly by a Python interpreter that we use to run the program. Other languages require a compiler. A compiler is a programme that converts the programming language into machine code, which can then be executed directly by the computer's processor. Since there is no extra interpreter between the code and its execution, working with a compiled code is much faster.

So why do we not all work with compiled codes. Well, writing this compiled code is a bit more complicated. For example, at the beginning of each program, you have to specify the type of each individual variable (string, integer, float) and you have to specify the amount of memory you are going to use for storing these variables. In addition, we can not actually read compiled code: Only the code that the compiler compiles is human readable.

"Every advantage has its disadvantage", I think that a knowledge of several languages will always come in handy. Just like in this world, you never know what you can expect and where you will end up but you always want to be a little bit ahead of the game.

April 24, 2021


Willeke Mulder programming
Go back to the homepage